﻿#define _CRT_SECURE_NO_WARNINGS
/*#include <stdio.h>
i*///nt main()
//{
//	int a = 0, b = 0;
//	for (a = 1, b = 1; a <= 100; a++)
//	{
//		if (b >= 20) break;
//		if (b % 3 == 1)
//		{
//			b = b + 3;
//			continue;
//		}
//		b = b - 5;
//	}
//	printf("%d\n", a);
//	return 0;
//}
//#include<stdio.h>
//int main()
//{
//	int a;
//	scanf("%d", &a);
//	printf("奇数位：");
//	for (int i = 31; i >> 1; i = i - 2)
//	{
//		printf("%d ", (a >> i) & 1);
//	}
//	printf("\n");
//	printf("偶数位:");
//	for (int i = 30; i >> 1; i -= 2)
//	{
//		printf("%d ", (a >> i) & 1);
//	}
//	return 0;   
//}
//#include <stdio.h>
//int main()
//{
//	int m, n, num = 0;
//	printf("请输入两个整数：\n");
//	scanf("%d %d", &m, &n);
//	num = m ^ n;
//	int count = 0;
//	for (int i = 0; i < 33; i++)
//	{
//		if (num & 1 == 1)
//		{
//			count++;
//		}
//		num = num >> 1;
//	}
//	printf("%d", count);
//	return 0;
//}
//#include <stdio.h>
//int main()
//{
//	int i = 1;
//	do
//	{
//		if (5 == i)
//			continue;
//		printf("%d ", i);
//		i = i + 1;
//	} while (i <= 10);
//
//	return 0;
//}
//#include <stdio.h>  //计算n的阶乘
//int main()
//{
//	int n = 0;
//	scanf("%d", &n);
//	int i = 0;
//	int ret = 1;
//	for ( i = 1; i <= n; i++)
//	{
//		ret *=i;
//	}
//	printf("%d", ret);
//	return 0;
//}
//#include <stdio.h>  //   计算 1!+2!+3!+……+10!
//int main()
//{
//	int n = 0;
//	scanf("%d", &n);
//	int i = 0;
//	int ret = 1;
//	int sum = 0;
//	for (n = 1;n <= 10; n++)
//	{
//		ret = 1;
//		for (i = 1; i <= n; i++)
//		{
//			ret *= i;
//		}
//		sum += ret;
//	}
//	printf("%d\n", sum);
//	return 0;
//}
//#include <stdio.h>   //在一个有序数组中查找具体的某个数字n。（讲解二分查找）
//int main()
//{
//	int arr[] = {1,2,3,4,5,6,7,8,9,10};
//	int n = 0;
//	scanf("%d", &n);//n是要查找的数字
//	int i = 0;
//	int sz = sizeof(arr) / sizeof(arr[0]);
//	//折半查找（二分查找），前提是数组有序
//	int left = 0;
//	int right = sz - 1;
//	int flag = 0;
//	while (left <= right)
//	{
//		//int mid = (left + right) / 2;
//		//考虑结果相加值过大，会溢出从而导致越界，所以采用另一种方法求平均值
//		int mid = left + (right - left) / 2;
//		if (arr[mid] < n)
//		{
//			left = mid + 1;
//		}
//		else if (arr[mid] > n)
//		{
//			right = mid - 1;
//		}
//		else
//		{
//			printf("找到了，下标是:%d\n", mid);
//			flag = 1;
//			break;
//		}
//
//	}
//	if (flag == 0)
//	{
//		printf("找不到\n");
//	}
//	return 0;
//}
//#include <stdio.h>
//#include <string.h>
//#include <Windows.h>
//int main()         //编写代码，演示多个字符从两端移动，向中间汇聚。
//{
//	char arr1[] = "hello  world !!!";
//	char arr2[] = "****************";
//	int left = 0;
//	int right = strlen(arr1) - 1;
//	while (left <= right)
//	{
//		arr2[left] = arr1[left];
//		arr2[right] = arr1[right];
//		printf("%s\n", arr2);
//		Sleep(1000);
//		system("cls");
//		left++;
//		right--;
//	}
//	printf("%s\n", arr2);
//	return 0;
//}
//#include <stdio.h>
//int main()    //编写代码实现，模拟用户登录情景，并且只能登录三次。
//{            //假设密码为123456.
//	char password[20] = { 0 };
//	int i = 0;
//	int flag = 0;
//	for ( i = 0; i < 3; i++)
//	{
//		printf("请输入密码：\n");
//		scanf("%s", password);
//		//判断
//		if (strcmp(password,"123456") == 0)  //千万不可以用password == "123456"，两个常量不可以用等号！
//		{                                   //变量要取地址&，数组名相当于地址，所以不需要取地址，例：password，arr等。
//			flag = 1;
//			printf("密码正确\n");
//			break;
//		}
//		else
//		{
//			printf("密码错误\n");
//		}
//	}
//	if (flag == 0)
//		printf("三次密码均输入错误，退出程序\n");
//	return 0;
//}
//#include<stdio.h>
//
//int main() {   
//
//    int i, j;         //九九乘法表
//
//    for (i = 1; i <= 9; i++) {
//
//        for (j = 1; j <= i; j++) 
//        {        
//
//            printf("%d*%d=%d ", i, j, i * j);
//
//        }
//
//        printf("\n");                                       
//
//    }
//    return 0;
//}
//#include <stdio.h>
//int main()
//{
//	int arr[] = { 1,2,3,4,5,6,7,8,9,10 };
//	int sz = sizeof(arr) / sizeof(arr[0]);
//	int n = 0;
//	scanf("%d", &n);
//	int flag = 0;
//	int i = 0;   //输入查找的数字
//	int left = 0;
//	int right = sz - 1;
//	while (left <= right)
//	{  
//		int mid = left + (right - left) / 2;
//		if (arr[mid] < n)
//		{
//			left = mid + 1;
//		}
//		else if (arr[mid] > n)
//		{
//			right = mid - 1;
//		}
//		else
//		{
//			printf("找到了，下标是:%d\n", mid);
//			flag = 1;
//			break;
//		}
//    }
//	if (flag == 0)
//			{
//				printf("找不到\n");
//			}
//	return 0;
//} 
//#include <stdio.h>
//int main()           //求最大公约数
//{
//	int a = 0;
//	int b = 0;
//	scanf("%d %d", &a, &b);
//	int k = 0;
//	while (k = a % b)
//	{
//		a = b;
//		b = k;
//	}
//	printf("%d", b);
//	return 0;
//}
//#include <stdio.h>
//#include <stdlib.h>
//#include <string.h>
//int main()
//{
//	char arr[20] = {0};
//	system("shutdown -s -t 60");
//	again:
//	printf("请注意，你的电脑在1分钟内关机，如果输入：我是猪，就取消关机\n");
//	scanf("%s", arr);
//	if (strcmp(arr,"我是猪") == 0)
//	{
//		system("shutdown -a");
//	}
//	else
//	{
//		goto again;
//	}
//
//	return 0;
//}
//#include <stdio.h>
//#include <string.h>
//int main()
//{ 
//	char arr1[] = "abcdef";
//	char arr2[20] = "xxxxxxxx";
//	strcpy(arr2, arr1);
//	printf("%s\n", arr2);
//	return 0;
//}
//#include <stdio.h>
//void Swap(int* pa,int* pb)
//{
//	int tmp = * pa;
//	*pa = *pb;
//	*pb = tmp;
//}
//int main()               //写一个函数可以交换两个整形变量的内容
//{
//	int a = 0;
//	int b = 0;
//	scanf("%d %d", &a, &b);
//	printf("交换前a = %d,b = %d\n",a,b);
//	Swap(&a, &b);
//	printf("交换后a = %d,b = %d\n",a,b);
//	return 0;
//}
//
//#include <stdio.h>//写一个函数可以判断一个数是不是素数。
//#include <math.h>
//int is_prime(int i)
//{
//	int j = 0;
//	for (j = 2;  j <= sqrt(i); j++)
//	{
//		if (i % j == 0)
//		{
//			return 0;
//		}
//	}
//	return 1;
//}
//int main()
//{
//	int i = 0;
//	int count = 0;
//	for ( i = 100; i <= 200; i++)
//	{
//		if (1 == is_prime(i))
//		{
//			count++;
//			printf("%d ", i);
//		}
//	}
//	printf("\ncount = % d \n",count);
//	return 0;
//}
//#include <stdio.h>    //写一个函数判断一年是不是闰年。
//int is_leap_year(int year)
//{
//	if( ( year % 4 == 0 && year %100 != 0)|| year % 400 == 0)
//	{
//		return 1;
//	}
//	return 0;
//}
//int main()
//{
//	int year;
//	int count = 0;
//	for ( year = 1000; year <= 2000; year++)
//	{
//		if (is_leap_year(year) == 1 )
//		{
//			count++;
//			printf("%d ", year);
//		}
//	}
//	printf("\ncount = % d \n", count);
//	return 0;
//}
//#include <stdio.h>  //写一个函数，实现一个整形有序数组的二分查找。
//int binary_search(int arr[], int k)
//	{
//		int left = 0;
//        int right = sz - 1;
//		while (left <= right)
//		{
//			int mid = left + (right - left) / 2;
//			if (arr[mid] < k)
//			{
//				left = mid + 1;
//			}
//			else if (arr[mid] > k)
//			{
//				right = mid - 1;
//			}
//			else
//			{
//				return mid;
//			}
//		}
//       return -1;
//	}
//int main()
//{
//	int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };
//	int k = 0;//k为查找的数字
//	scanf("%d", &k);
//	int sz = sizeof(arr) / sizeof (arr[0]);
//	//找到了就返回下标，找不到就返回-1
//	int ret = binary_search(arr, k, sz);
//	if (ret == -1)
//	{
//		printf("找不到\n");
//	}
//	else
//		printf("找到了，下标为：%d\n", ret);
//
//	return 0;
//}
//#include <stdio.h>
//Add(int* pnum)
//{
//	(* pnum)++;
//}
//int main()   //写一个函数，每调用一次这个函数，就会将 num 的值增加1。
//{
//	int num = 0;
//	Add(&num);
//	printf("%d\n", num);
//	Add(&num);
//	printf("%d\n", num);
//	Add(&num);
//	printf("%d\n", num);
//	Add(&num);
//	printf("%d\n", num);
//
//
//	return 0;
//#include <stdio.h>
//void Swap2(int* pa, int* pb)
//{
//	int* tmp = *pa;
//	*pa = *pb;
//	*pb = tmp;
//}
//
//int main()
//{
//	int a = 10;
//	int b = 20;
//	printf("交换前:a=%d b=%d\n", a, b);
//	Swap2(&a, &b);
//	printf("交换后:a=%d b=%d\n", a, b);
//
//	return 0;
//}
//int a;//变量的声明
//
//int main()
//{
//	printf("%d\n", a);
//	return 0;
//}
//
//int a = 10;//定义
//
//
//int a;//定义
//
//int main()
//{
//	printf("%d\n", a);
//	return 0;
//}
//变量还是函数都得满足先定义(声明)后使用
//
//
//函数的声明
//int Add(int x, int y);
//
//int main()
//{
//	int a = 10;
//	int b = 20;
//	int c = Add(a, b);
//	printf("%d\n", c);
//	return 0;
//}
//
////函数的定义
//int Add(int x, int y)
//{
//	return x + y;
//}
//
//
//函数的定义
//int Add(int x, int y)
//{
//	return x + y;
//}
//
//int main()
//{
//	int a = 10;
//	int b = 20;
//	int c = Add(a, b);
//	printf("%d\n", c);
//	return 0;
//}
//
//
//#include "add.h"
//
//#pragma comment(lib, "add.lib")
//
//int main()
//{
//	int a = 10;
//	int b = 20;
//	int c = Add(a, b);
//	printf("%d\n", c);
//	return 0;
//}
//%u - 无符号的整数
//%d - 有符号的整数


//
//Print(1234)
//Print(123) 4
//Print(12) 3 4
//Print(1) 2 3 4
//
//#include <stdio.h>
//#include <string.h>
//int my_strlen(char* str)
//{
//	if (*str != '\0')
//		return 1 + my_strlen(str+1);
//	else
//		return 0;
//}
//
//int main()
//{
//	char arr[10] = "abcdef";
//
//	int len = my_strlen(arr);
//	printf("%d\n", len);
//	return 0;
//}
//#include <stdio.h>
//int fac(int n)
//{
//	int i = 0;
//	int ret = 1;
//	for (i = 1; i <= n; i++)
//	{
//		ret = ret * i;
//	}
//	return ret;
//}
//int main()
//{
//	int n = 0;
//	scanf("%d", &n);
//	int ret = fac(n);
//	printf("%d\n", ret);
//	return 0;
//}
//#include <stdio.h>
//int fac(int n)
//{
//	if (n <= 1)
//		return 1;
//	else
//		return n * fac(n - 1);
//}
//
//int main()
//{
//	int n = 0;
//	scanf("%d", &n);
//	int ret = fac(n);
//	printf("%d\n", ret);
//	return 0;
//}
////求第n个斐波那契数
//#include <stdio.h>
//int count = 0;
//
//int Fib(int n)
//{
//	//统计的是第3个斐波那契数被重复计算的次数
//	if (n == 3)
//		count++;
//
//	if (n <= 2)
//		return 1;
//	else
//		return Fib(n - 1) + Fib(n - 2);
//}
//int main()
//{
//	int n = 0;
//	scanf("%d", &n);//40
//	int ret = Fib(n);
//	printf("%d\n", ret);
//	//printf("count = %d\n", count);
//	return 0;
//}
//#include <stdio.h>
////迭代的方式
//int Fib(int n)
//{
//	int a = 1;
//	int b = 1;
//	int c = 1;
//	while (n>=3)
//	{
//		c = a + b;
//		a = b;
//		b = c;
//		n--;
//	}
//	return c;
//}
//
//int main()
//{
//	int n = 0;
//	scanf("%d", &n);//40
//	int ret = Fib(n);
//	printf("%d\n", ret);
//	//printf("count = %d\n", count);
//	return 0;
//} 
//#include<stdio.h>
//
//void move(char a,char b,int n)
//{
//	printf("把第%d个圆盘从%c->%c\n", n, a, b);
//}
//void H_tow(int n, char a, char b, char c)
//{
//	if (n == 1)
//	{
//		move(a, c, n);
//	}
//	else
//	{
//		H_tow(n - 1, a, c, b);//将A柱上的n-1个盘子借助C柱移向B柱
//		move(a, c,n);//将A柱上最后一个盘子移向C柱
//		H_tow(n - 1, b, a, c);//将B柱上的n-1个盘子借助A柱移向C柱
//	}
//}
//int main()
//{
//	int n = 0;
//	scanf("%d", &n);
//	H_tow(n, 'A', 'B', 'C');
//	return 0;
//}
//#include<stdio.h>
//int dance_s(int n)
//{
//	if (n == 1)
//	{
//		return 1;//当只有一层台阶时直接返回1
//	}
//	if (n == 2)
//	{
//		return 2;//当只有2层台阶时直接返回2
//	}
//	if (n > 2) 
//	{
//		return dance_s(n - 1) + dance_s(n - 2);
//	}//当n>2时，利用递归，直到结束停止
//}
//int main()
//{
//	int n = 0;
//	scanf("%d", &n);//输入台阶的个数
//	int num = dance_s(n);
//	printf("%d\n", num);//打印共有多少种跳台阶的方案
//	return 0;
//}
#include <stdio.h>
int main()
{
	int count = 0;
	int i = 0;
	for (i = 1; i <= 100; i++)
	{
		if (i%10==9)
		{
			printf("%d ", i);
			count++;
		}
	}
	printf("\ncount=%d", count);
	return 0;
}